System And Method For Determining Customer Hold Times

ABSTRACT

A system and method for determining customer hold times is provided. A database of caller profiles is maintained. A call from a caller is received into a call center and assigned to an agent. A delay during which the caller is to be placed on hold is identified. A hold time for the delay is determined based on a length of a hold queue, a level of busyness of the agent and the caller profile associated with the caller.

CROSS-REFERENCE TO RELATED APPLICATION

This U.S. Patent Application is a continuation of U.S. patentapplication Ser. No. 12/039,558, filed Feb. 28, 2008, pending, whichclaims priority to U.S. Provisional Patent Application Ser. No.60/904,296, filed Feb. 28, 2007, the disclosure of which is incorporatedby reference.

FIELD

The present invention relates in general to automated call centeroperation and, in particular, to a system and method for determiningcustomer hold times.

BACKGROUND

Customer call centers, or simply, “call centers,” offer a convenient anduniversally-accessible forum for customer assistance. Most call centersare reachable by telephone, including data network-based telephone, suchas Voice-Over-Internet (VoIP), although Web- and email-based customersupport are becoming increasingly available.

Each customer call is an interactive process. The expectation level ofcallers is generally lower when they are aware that an automated system,rather than a live agent, is providing assistance. Nevertheless, callersstill expect expeditious resolution of their concerns and minimizingdelay is crucial, even when caller volume is high. Hold times can occur,such as when customers must be placed on hold until an agent becomesavailable. Call centers frequently play recorded music or advertisementsto entertain callers while on hold, although callers on hold for a longtime may hear the same content played repeatedly. Alternatively, callcenters can feed live radio or subscription content, such as Muzak®,Fort Mill, S.C., which avoids repetition, but also relinquishes controlover the content to a third party. Thus, recorded and live content onlyoccupy time and seldom take fullest advantage of the opportunity toprovide variable length or targeted content to callers while on hold.

Therefore, there is a need for providing content to call center callerswho are waiting on hold that can tailor the content played based on thecallers and their customer assistance situations.

SUMMARY

Hold times usually occur when a caller calls and all agents are busy.The waiting times for each on-going caller session can be evaluated todetermine hold time. Each caller waiting on hold can be evaluated forattributes, such as calling location or area of customer assistance. Thecontent played to each caller on hold can be customized to better tailorthe call to the caller and to advantageously use the hold time.

An embodiment provides a system and method for determining customer holdtimes. A database of caller profiles is maintained. A call from a calleris received into a call center and assigned to an agent. A delay duringwhich the caller is to be placed on hold is identified. A hold time forthe delay is determined based on a length of a hold queue, a level ofbusyness of the agent and the caller profile associated with the caller.

Still other embodiments of the present invention will become readilyapparent to those skilled in the art from the following detaileddescription, wherein is described embodiments of the invention by way ofillustrating the best mode contemplated for carrying out the invention.As will be realized, the invention is capable of other and differentembodiments and its several details are capable of modifications invarious obvious respects, all without departing from the spirit and thescope of the present invention. Accordingly, the drawings and detaileddescription are to be regarded as illustrative in nature and not asrestrictive.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a functional block diagram showing an automated call centeroperational environment.

FIG. 2 is a functional block diagram showing an automated call centerfor use in the automated call center operational environment of FIG. 1.

FIG. 3 is a process flow diagram showing, by way of example, a typicalcall sequence, as transacted by the automated call center of FIG. 2.

FIG. 4 is a screen diagram showing, by way of example, a view of anagent console for an on-going call session.

FIG. 5 is a process flow diagram showing a method for managing a dynamiccall flow during automated call processing, in accordance with oneembodiment.

FIG. 6 is a block diagram showing, by way of example, caller attributesevaluated during dynamic call flow management.

FIG. 7 is a block diagram showing, by way of example, customized calleroptions for managing hold times, in accordance with one embodiment.

DETAILED DESCRIPTION Automated Call Center Operational Environment

Automated call centers are a form of voice-response system, which relyupon programmed control to guide callers through a machine-generateddialogue for receiving support and problem resolution assistance. FIG. 1is a functional block diagram showing an automated call centeroperational environment 10. By way of example, a multiplicity of callerscall into an automated call center 11, generally through telephonicmeans, which can include conventional telephone handsets 13 a-c throughPlain Old Telephone Service (POTS) 12, portable handsets 15 a-c throughcellular and satellite telephone service 14, VoIP clients 17 a-b, andInternet telephony clients 18 a-b, as well as other forms of telephonyand voice-based communications. Callers can also “call” or interfaceinto the automated call center 11 using conventional network clients 19through an internetwork 16, including the Internet. Other types ofautomated call center access are possible.

Hold times can occur under various circumstances. For example, multiplecallers may call at the same time, thereby flooding the call center 11.Similarly, one agent may be handling several callers at once and needtime to resolve each problem. Other circumstances causing hold times arepossible.

As used herein, the terms “caller,” “user,” and “customer” are usedinterchangeably to refer to a caller to the automated call center 11.Similarly, the terms “agent,” “guide,” and “operator” are usedinterchangeably to refer to an agent that provides service provisioningfor the automated call center 11. Also, “wait” and “hold” may be usedinterchangeably to refer to the time a caller spends holding for anagent's attention. Additionally, although the automated call center 11is shown as a single point within the automated call center operationenvironment 10, the automated call center 11 could include two or morelogically interconnected, but physically separate, includinggeographically removed, call center operations, which collectivelyprovide a unified automated call center. Other automated call centerarrangements and configurations are possible.

Automated Call Center

Generally, an automated call center provides a single dial-in source forsupport and problem resolution assistance for customers seeking directhelp from manufacturers and service vendors. Occasionally, the singledial-in source may experience an overflow of calls resulting in delayedresponse and hold times. However, automated call centers 11 can also beapplied to many other diverse areas of commerce, such as mail ordersales and roadside assistance dispatch. FIG. 2 is a functional blockdiagram showing an automated call center 30 for use in the automatedcall center operational environment 10 of FIG. 1. The automated callcenter 30 includes one or more servers 31, 34 and agent consoles 32 a-coperatively interconnected over an internal network 33. The agentconsoles 32 a-c could also be interconnected to the message server 31over an external network infrastructure 33, such as the Internet or anon-public enterprise data network. The network infrastructure 33 can beeither wired or wireless and, in one embodiment, is implemented based onthe Transmission Control Protocol/Internet Protocol (TCP/IP) networkspecification, although other types or combinations of networkingimplementations are possible. Similarly, other network topologies andarrangements are possible.

A message server 31 provides the primary message-based communicationsinfrastructure for call center operation, such as described incommonly-assigned U.S. Pat. No. 7,292,689, issued Nov. 6, 2007, toOdinak et al., and U.S. Pat. No. 8,170,197, issued May 1, 2012, toOdinak, the disclosures of which are incorporated by reference. Duringregular operation, the message server 31 executes individual threads toprocess multiple simultaneous calls, which are handled by agentsexecuting agent applications on agent consoles 32 a-c. Hold time canoccur, for instance, if the agents become overloaded.

Customer calls are received through a telephony interface 35, which isoperatively coupled to the message server 31 to provide access to atelephone voice and data network 36. In one embodiment, the telephonyinterface connects to the telephone network 36 over a T-1 carrier line,which can provide up to 24 individual channels of voice or data trafficprovided at 64 kilobits (Kbits) per second. Other types of telephonenetwork connections are possible.

The automated call center 30 also includes a recognition server 34 thatinterfaces directly to the message server 31 as a top-level or root tierof a speech recognition hierarchy. The message server 31 sends streamedaudio data for each incoming call to the recognition server 34, whichperforms distributed speech recognition, such as described incommonly-assigned U.S. Patent Application Publication No. 2007/0162282,published Jul. 12, 2007, to Odinak; and U.S. Provisional Patentapplication Ser. No. 60/757,356, filed Jan. 9, 2006, expired, thedisclosures of which are incorporated by reference. The message server31 assigns grammar generation and speech recognition to the recognitionserver 34. Upon startup, the telephony gateway 35 opens a T-1 carrierdevice channel for each available T-1 time slot. The telephony gateway35 initiates a new connection to the message server 31, one connectionper T-1 device channel, and the message server 31, in turn, initiates acorresponding new connection to the recognition server 34.

The separate telephony gateway-to-message server and messageserver-to-main recognizer connections form one concurrent session. Whena customer call is answered or connected, the telephony gateway 35 sendsa call message to the message server 31. The message server 31 thensends a new call message to the recognition server 34.

The message server 31 also assigns each new call to one of the agentconsoles 32 a-c through dynamic load balancing, such as described incommonly-assigned U.S. Pat. No. 8,023,638, issued Sep. 20, 2011; andU.S. Provisional Patent application Ser. No. 60/838,074, filed Aug. 15,2006, expired, the disclosures of which are incorporated by reference.Each agent console 32 a-c provides the primary means for direct customerinteraction by providing service provisioning and related assistance tocallers, such as further described below with reference to FIG. 3.

The main purpose of each agent console 32 a-c is to execute one or moreagent applications, which display both user and agent messages andprovide menus of actions that can be executed in response to agentcommands, including script execution and management of variable holdtime. One or more agent applications execute on each agent console andone or more agent consoles can execute in parallel. Alternatively,multiple instances of agent applications can run on a server machine,and can be accessed and, if needed, modified by agents at agent consolesoperating as remote terminals.

Each component, including the message server 31, recognition server 34,and agent consoles 32 a-c, is implemented as a computer program,procedure or module written as source code in a conventional programminglanguage, such as the C++ programming language, and presented forexecution by a computer system as object or byte code. Alternatively,the components could be directly implemented in hardware, either asintegrated circuitry or burned into read-only or read-rewriteable memorycomponents. The various implementations of the source code and objectand byte codes can be held on a computer-readable storage medium orembodied on a transmission medium in a carrier wave.

Exemplary Typical Call Sequence

Callers interface with an agent indirectly, who multitasks through oneor more caller sessions via an agent console 32 a-c. The callers onlyperceive an automated calling interface heard, for instance, throughtheir telephone or portable handset and do not actually speak with theagent person-to-person.

Calls are processed through a sequence of phases. FIG. 3 is a processflow diagram showing, by way of example, a typical call sequence 40, astransacted by the automated call center 30 of FIG. 2. Although the formof call processing required may vary by subject matter and otherfactors, the same overall sequence of caller-to-agent interchanges willloosely apply.

A caller session starts with an incoming call and continues through tocall termination, including any hold times. Initially, upon calling intothe call center 30, each caller receives an initial greeting andinformational message 41 providing a synopsis of caller options, whichenable the caller to navigate to a specific topic for assistance orsupport. Following option selection, the caller engages in a customerassistance or support scenario 42 with an agent, which is either a liveperson or an automated prompt, such as generated by an automated voiceresponse system, to collect information and problem troubleshoot. Thescenario 42 can be delayed due to agent unavailability, caller volume,and other factors, which require the caller to be placed on hold.

Throughout each session, the interactive call flow and hold time of eachcall can be adjusted by evaluating caller attributes, such as describedbelow beginning with reference to FIG. 5. In addition, the order inwhich information is gathered from a caller, such as identifying thecaller's needs or problems, can be dynamically evaluated and controlled,such as further described in commonly-assigned U.S. Pat. No. 8,442,209,issued May 14, 2013; and U.S. Provisional Patent application Ser. No.60/838,102, filed Aug. 15, 2006, expired, the disclosures of which areincorporated by reference.

As required, service-provisioning 43 is provided to the caller, eitherdirectly during the course of the call or indirectly through a servicerequest dispatch. Service provisioning may be stalled as the agentcollects information to address the caller's particular needs or isattending to other callers during high call volume, thereby resulting incallers being placed on hold. The content heard by the caller can becustomized to the caller or situation, as further described below withreference to FIG. 7. The content can include product information,advertising, or location-oriented materials. The playback speed can alsobe adjusted to better suit the length of expected delay. Followingservice provisioning 43, the call ends in wrap-up 44, which providesclosure to the call and a departing salutation. Other customer callsequences are feasible. Importantly, however, from the perspective ofthe caller, the experience appears to be an interaction with anintelligent machine and the caller is aware that the agent is automated,not human. Accordingly, a typical caller will have a more relaxedexpectation of agent responsiveness since a machine, and not an actualperson, is on the line.

Following call termination, the call center 30 can perform post-callprocessing 45, such as identifying sound “bites,” that is, speechutterances in each call for analysis and storage in a database 34. Thespeech utterances can be presented to an agent for review andmanipulation, such as ranking or reordering. In addition, the post-callprocessing 45 can include performing speech recognition on the speechutterances, identifying speaker characteristics, and marking certainspeech utterances and holding prompt selections for later use. In afurther embodiment, the call center 30 can also perform in-progress callprocessing 46, which operates on a stream of speech utterances copiedfrom on-going calls. The same types of processing operations can beperformed as on completed calls, but allows real time call analysis.

Exemplary Agent Console

Call sessions are displayed on each agent console through a graphicaluser interface (GUI). FIG. 4 is a screen diagram showing, by way ofexample, a view of an agent console 50 for an on-going call session.Multiple call sessions can be simultaneously displayed and managedthrough the GUI controls.

The particulars concerning the live call session are obtained by themessage server 31 and provided to the agent. The session particulars caninclude, for instance, a caller profile including last hold time,personal prompt, options selections, modifications by the caller 51,address 52, contact information 53, reason for the call 54, credit carddata 55, and system available options for hold time. Other types ofsession particulars are possible.

During a session, the agent can request a display update by pressing an“Update” control 56 and can review a recording of the caller's spokenresponses through intuitive playback controls 57. Additionally, theagent can transfer the caller to a live agent by pressing a “Transfer toLive Agent” control 58 and can log out by pressing a “Logout” control59. Other GUI controls are possible.

Dynamic Call Flow Management

Caller sessions, including managed hold times, can be dynamicallycustomized by an agent at any point during a call. FIG. 5 is a processflow diagram showing a method 70 for managing a dynamic call flow duringautomated call processing, in accordance with one embodiment. Although acaller interface would ordinarily be modified or adjusted by the agentthat is assigned to a call session, the caller interface could also bemodified by another agent console or by a server based on known callerattributes and conditions. Generally, with the exception of hold times,the caller and agent engage in interaction throughout the call session(operation 71), such as described above with reference to FIG. 3.Throughout the session, the agent, with the assistance of the agentconsole 32 a-c, or message server 31, can evaluate the caller attributes(operation 72) and customize call flow and caller options, includinghold time (operation 73), as further described below with reference toFIGS. 6 and 7. Caller interaction, attribute evaluation, hold times, andcall flow customization can be repeated as necessary throughout theremainder of the session.

Caller Attributes

Caller attributes depend upon both the caller and call characteristics.FIG. 6 is a block diagram showing, by way of example; caller attributes81 evaluated 80 during call. Caller-specific attributes can relate toperceived caller idiosyncrasies. Call characteristics existindependently of the caller and can be artifacts of both the physicalmedium and call timing.

Caller attributes 81 that relate to the caller specifically includeemotion 82, accent 83, gender 84, and age 85. Unless independentlyconfirmed, for instance, through a questionnaire or database lookup,these caller attributes are perceived based on the subjectiveimpressions of the agent or through automated analysis.

Physical caller-independent attributes 81 include origin of the call 86and the call time 87. The caller origin 86 can be determined, forexample, through area code or zip code lookup, and the call time 87 isavailable through automated timestamp. Other caller attributes 88 arepossible.

Caller Options

Caller options can vary for different reasons. The caller interface canbe flexibly managed to improve the caller's experience and to benefitthe manufacturer or vendor. FIG. 7 is a block diagram showing, by way ofexample, customized caller options 100 for managing hold times, inaccordance with one embodiment. Caller options 100 that relate to thecurrent call contest include altering playback speed 102 and selectingcontext-appropriate content 103. Caller options 100 that relate to thecaller include providing location-based content 104. Other calleroptions 105 are possible. The options 100 can be triggered automaticallyor upon agent request.

Hold time can be estimated by evaluating the length of the hold queue,the level of busyness of each agent, and upon the profile of thecustomer, for example, whether the customer is a preferred customer withenhanced service or a new customer. Other hold time estimation factorsare possible. Different speeds and lengths of hold time content may beemployed as needed to fill the estimated hold time. For example,depending upon the length of the hold queue or the time an agent needsto collect information to accurately and precisely address callers'needs, content may be more or less verbose, or may be shorter or longer.

While the invention has been particularly shown and described asreferenced to the embodiments thereof, those skilled in the art willunderstand that the foregoing and other changes in form and detail maybe made therein without departing from the spirit and scope of theinvention.

What is claimed is:
 1. A system for determining customer hold times,comprising: a database to maintain caller profiles; a call receiptmodule to receive from a caller, a call into a call center; a callassignment module to assign the call to an agent; an identificationmodule to identify a delay during which the caller is to be placed onhold; and a determination module to determine a hold time for the delaybased on a length of a hold queue, a level of busyness of the agent andthe caller profile associated with the caller.
 2. A system according toclaim 1, wherein each caller profile comprises at least one of a lasthold time, personal prompt, options selections, modifications by thecaller, address, contact information, reason for the call, and creditcard data.
 3. A system according to claim 1, further comprising: anoption module to provide caller options that enable the caller tonavigate to a specific topic.
 4. A system according to claim 3, furthercomprising: an attribute module to obtain caller attributes associatedwith the caller; an evaluation module to evaluate the obtained callerattributes; and the option module to provide the caller options based onthe evaluated caller attributes.
 5. A system according to claim 1,further comprising: a profile module to access the caller profileassociated with the caller; and a display to display the caller profileto the agent.
 6. A system according to claim 1, further comprising: acontent module to play content to the caller during the delay.
 7. Asystem according to claim 6, wherein the content is customized to atleast one of the caller and a situation surrounding the call.
 8. Asystem according to claim 1, further comprising: a process module toperform at least one of in-progress call processing and post-callprocessing, comprising: a speech identification module to identifyspeech utterances in the call; a speech analysis module to analyze thespeech utterances; and a data storage to stor a record of the call.
 9. Asystem according to claim 1, further comprising: a presentation moduleto display multiple call sessions for the agent.
 10. A system accordingto claim 1, wherein the delay is due to at least one of agentunavailability and call volume.
 11. A method for determining customerhold times, comprising: maintaining a database of caller profiles;receiving from a caller, a call into a call center; assigning the callto an agent; identifying a delay during which the caller is to be placedon hold; and determining a hold time for the delay based on a length ofa hold queue, a level of busyness of the agent and the caller profileassociated with the caller.
 12. A method according to claim 11, whereineach caller profile comprises at least one of a last hold time, personalprompt, options selections, modifications by the caller, address,contact information, reason for the call, and credit card data.
 13. Amethod according to claim 11, further comprising: upon receipt of thecall, providing caller options that enable the caller to navigate to aspecific topic.
 14. A method according to claim 13, further comprising:obtaining caller attributes associated with the caller; evaluating theobtained caller attributes; and providing the caller options based onthe evaluated caller attributes.
 15. A method according to claim 11,further comprising: accessing the caller profile associated with thecaller; and displaying the caller profile to the agent.
 16. A methodaccording to claim 11, further comprising: playing content to the callerduring the delay.
 17. A method according to claim 16, wherein thecontent is customized to at least one of the caller and a situationsurrounding the call.
 18. A method according to claim 11, furthercomprising: performing at least one of in-progress call processing andpost-call processing, comprising: identifying speech utterances in thecall; analyzing the speech utterances; and storing a record of the callin a database.
 19. A method according to claim 11, further comprising:displaying multiple call sessions for the agent.
 20. A method accordingto claim 11, wherein the delay is due to at least one of agentunavailability and call volume.